/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package herancapessoa.negocio;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author Ricky
 */
@Entity
@Table
public class Endereco implements Serializable {

    
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private int id;
    
    private String rua;
    
    private int num;
    
    private String bairro;
    
    private String cep;
    
    @OneToMany(mappedBy = "end")
    private List<Pessoa> pessoas;

    public List<Pessoa> getPessoas() {
        return pessoas;
    }

    public void setPessoas(List<Pessoa> pessoas) {
        this.pessoas = pessoas;
    }
    
    @ManyToOne
    @Cascade(CascadeType.ALL)
    private Cidade cidade;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public Cidade getCidade() {
        return cidade;
    }

    public void setCidade(Cidade cidade) {
        this.cidade = cidade;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getRua() {
        return rua;
    }

    public void setRua(String rua) {
        this.rua = rua;
    }
    
    @Override
    public String toString() {
        String mycidade = this.cidade.getNome() + " - " + this.cidade.getUf() + "\n";
        String end = "Bairro: " + bairro + "\n" + 
                rua + " - " + num + "\n" +
                "CEP: " + cep;
        return  mycidade + end;          
    }
}
